◆telnetによる遠隔操作

FreeBSDサーバーが上手くルータとして動作して、
クライアントPCからインターネットが可能になったのであれば、
サーバーの前からはもう離れて、ここから先は、是非Telnetによる遠隔管理をオススメします。

Telnetクライアントと呼ばれるソフトを介してTelnetを使用すれば、
クライアントPC上から、まるでそのコンピューターの前にいるように操作できます。(これぞUNIX!!)


その前にきちんとサーバーから(おそらくinetdを介して)telnetdが起動可能かどうか
そしてTelnetで接続できるアカウントがあるかそのアカウントはrootに移行できるか
この3つの確認だけはきちんとしておきます。


◆inetdとアカウント設定

inetdよりtelnetdサービスが起動するかどうか、確認する項目は2つです。

このHPで説明したとおりにインストール時の初期設定を終えているのであれば、
使用可能になっていると思いますが、
そうでない場合のために、まず動作するかどうか確認をしておきます。


1:[/etc/rc.conf]に[inetd_enable="YES"]の項目があるか確認します。

2:[/etc/inetd.conf]のファイルを開いて[telnet stream tcp nowait root…(以下略)]の行の
行頭の「#」マークが外されている事を確認します。



もしこのどちらかが設定されてなかったら、telnetを使用するのは不可能です。
きちんと設定してサーバーを再起動しましょう。

これでinetdの準備は完了です。


次にユーザーアカウントの確認(設定)です。ここで注意点が一つあります。
これは非常に重要な事なので覚えておいて下さい。


それは「Telnetを使用してログインする場合、rootアカウントではログイン出来ない」と言う事です。


セキュリティ上、インターネットに公開されているサーバーが、
サーバーに関するありとあらゆる操作が可能なrootアカウントでいきなりログイン出来るのは非常に危険です。

もし悪意のあるユーザーにrootパスワードを解析されてログインされたら、大変な事になります。
(その場合、アクセス制限をする事も可能なのですが…それはまた違う項目で説明します)


では、Telnetを使用してroot権限の必要な操作をしたい場合、どうするか?

「su」というプログラムによって、一時的にrootユーザーに移行します。


しかし、この「su」を実行する事によってrootユーザーになれるのは、
「wheel」と呼ばれるグループに属しているアカウントのみ
です。

「wheel」グループのユーザーのみ「su」でrootになれるのは
FreeBSD(とBSD関係UNIX?)独特のポリシーです。


環境の初期設定の「ユーザーアカウントの追加」の項目を見てください。

このページの通り初期設定を行ったのであれば、
「admin」という「wheel」グループに所属するアカウントをすでに作成してあります。

もしこのwheelグループに属する一般アカウント(アカウント名は何でもいいです)が存在しない場合、
rootユーザーに移行することはtelnetでは不可能になるので、
「/stand/sysinstall]を起動して、「Configure」の中の「User Management」の項目より作成してください。


ここまでの準備を終えたら、最後に
Server#telnet localhost
Trying 127.0.0.1...
(中略)
User (root): admin
Password: ******(パスワード。実際は何も表示されません)
とFreeBSDに付属しているtelnetクライアントによって、
実際にサーバー(この場合は自分自身ですが)接続できるかどうかテストしてみてください。

User (root): admin
Password:
(中略…色々表示されます)
>
と最後に「>」が表示されて停止したら、adminユーザーでログイン成功です。


ついでにこの一般アカウント(wheelグループ)でログイン後、
> su
Password: *****(rootのパスワード)
Server#
と、きちんとrootユーザーに移行可能な事も確認しておいて下さい。

この接続を終了させるコマンドは「exit」です。

この場合、一旦「su」で移行したrootユーザーを終了するのに「exit」を実行。
次にadminとして接続しているtelnetを終了させるのに「exit」を実行、と2回の終了動作が必要になります。


ここまできたらサーバーの準備完了です。

これでしばらくの間(もしかしたら永遠に)直接マシンからrootユーザーでログインする事もありませんので、
もう一度「exit」か[logout]を実行して、ログイン待機(「login :」)状態にしておいて下さい。
(rootユーザーとして接続したまま放置するのは、褒められる行為ではありません…)


次からは、Windowsマシンからtelnetクライアントを使用してサーバーに接続する方法を説明します。


◆telnetクライアント…Tera Term Proを使用する

ここでは、一般的にWindowsで一番使用されている「TeraTerm Pro」を使用したいと思います。

別にWindows付属のtelnetクライアントでもいいのですが、
今後頻繁に使用することになるし、暗号化telnetともいえるsshにも拡張可能なので、
できたらこの高性能な「Tera Term Pro」を使用したいものです。
ここでは、ついでに日本語版も取って来たいと思います。

Tera Term Pro
Tera Term Pro日本語版

インストール方法と設定に関しては、FreeBSDとは関係ないのでここでは説明しません。
こういった方法を非常に詳しく説明しているサイトは数多く存在しますので、
そちらを参考していただいたら、と思います。


設定を終えて、新規接続画面が表示されたら、「TCP/IP ホスト(o):」の後に、
サーバーのIPアドレスを入力して「OK」をクリックします。

FreeBSD/i386 (Hiiro.mydomain.com) (ttyp0)

login:
と、表示されたら、サーバーとの接続成功です。

さっそく一般アカウントでログインしましょう。
FreeBSD/i386 (Hiiro.mydomain.com) (ttyp0)

login: admin
Password: *********
(…中略…)
>
となったらadminアカウントでのログイン成功です。

> su
Password: *****(rootのパスワード)
Server#
となることを確認して下さい。
ついでにrootアカウントではログイン不可能な事も確認しておくと、安心できるかも知れませんね。


これで、クライアントからサーバーを操作する環境は整いました。


ここまできたら、サーバーを安置してしまいましょう。
本体から電源とLANケーブル以外のすべてのものを取り外してしまっても大丈夫です。


しかし、このTelnetにはセキュリティ上の問題があり、
入力した情報をそのままデーターとしてインターネットに送信しています。
これはちょっと専門的なパケット解析ソフトを使用すると、簡単に解析されてしまいます。

今の段階のようにローカルでデータのやり取りをしている分では安全ですが、
インターネットを介して接続しようとした時、セキュリティ上大きなリスクを負う事にもなります。
adminとしてログインした時のアカウントとパスワードはもちろんの事、
「su」を実行して、その後入力したrootのパスワードすらも読み取られてしまいます。

そんなとき、暗号化Telnetとも言える…sshの出番となります。

これに関しては、別のTipsで説明します。
興味ある方はsshを導入して、そしてtelnetの代わりにsshを使用して遠隔操作をしてください。


[一つ上に戻る]

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!